"First do it, then do it right, then do it better"

- Addy Osmani

The first step in making a project is actually doing it. When you want to do something you often want to do it right and do it perfectly on the first try. This however can sometimes prove to be detrimental to finishing projects in a timely manner. Embrace the thought that your first attempts in making your program will have mistakes, so as to not be impeded by anxiety and indecision.

When you have begun making your program, the next step getting it to do what you want it to do. The way you've achieved this may not be the most efficient way to accomplish the task. There are probably better ways to do it, but it is better than to have no output at all when the deadline comes.

If you still have time left, you can then make it better. Refactor it to have better readability, less repetition, more efficient, whatever improvements your heart desires. This is where you can finally think of making it "perfect". You can now take the time to make it better with the knowledge that you already have an end product to present.

This is the source. Not this one!